#pragma once
#include "CoolUIDefine.h"

class CUIWindow;
class CUIImgInterface;
class CUILayout;

class COOLUI_CLASS CUIManager
{
public:
    CUIManager( void );

    virtual ~CUIManager( void );

    virtual CUIImgInterface* CreateUIImgRender() = 0;

    virtual CUILayout* CreateUILayout() = 0;

    CUIWindow* SkinWnd( HWND hWnd );

    void UnSkinWnd( HWND hWnd );

    static CUIManager* Create();

    static CUIWindow* FromeHandle( HWND hWnd );

    static void Init();

    static void UnInit();

    static BOOL Skin();

    static BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam );

    static BOOL CALLBACK EnumChildWindowProc( HWND hWnd, LPARAM lParam );

};

